/**
 * 角色配置
 */
import { axios } from '@/utils/request'

const hardcodeUrl = 'mos/authority/'

const api = {
  role: hardcodeUrl + 'role'
}

/**
 * 获取所有角色列表
 * @param {*} params
 */
export function getRoleList (params) {
  return axios({
    url: api.role + '/list',
    method: 'get',
    params
  })
}

/**
 * 获取角色
 * @param {*} params
 */
export function getRole (params) {
  return axios({
    url: api.role,
    method: 'get',
    params
  })
}

/**
 * 新建用户角色
 * @param {*} data
 */
export function createRole (data) {
  return axios({
    url: api.role,
    method: 'post',
    data
  })
}

/**
 * 修改用户角色
 * @param {*} data
 */
export function updateRole (data) {
  return axios({
    url: api.role,
    method: 'put',
    data
  })
}

/**
 * 删除角色
 * @param {*} params
 */
export function deleteRole (params) {
  return axios({
    url: api.role,
    method: 'delete',
    params
  })
}

/**
 * 获取可选择角色列表
 */
export function getSelectRoles () {
  return axios({
    url: api.role + '/select-list',
    method: 'get'
  })
}

/**
 * 获取角色权限/完整的unchecked的权限树
 * @param {*} params
 */
export function getRolePerms (params) {
  return axios({
    url: api.role + '/role-perms',
    method: 'get',
    params
  })
}

/**
 * 根据id获取角色权限
 * @param {*} params
 */
export function getRolePermsById (params) {
  return axios({
    url: api.role + '/role-perms-id',
    method: 'get',
    params
  })
}

/**
 * 修改角色状态
 * @param {*} data
 */
export function updateRoleStatus (data) {
  return axios({
    url: api.role + '/status',
    method: 'put',
    data
  })
}

/**
 * role表单检验
 * @param {*} params
 */
export function validateRoleField (params) {
  return axios({
    url: api.role + '/validate-field',
    method: 'get',
    params
  })
}
